package com.tangcco.lockwell.service;

import com.tangcco.lockwell.domain.Groups;
import com.tangcco.lockwell.viewmodel.admin.groups.GroupsMemberVM;
import com.tangcco.lockwell.viewmodel.admin.groups.GroupsPageFindVM;

import java.util.List;

public interface GroupsService extends BaseService<Groups>{


    // 动态修改群组信息的方法，传入要修改的群组相关参数以及当前时间，用于更新操作
    int updateGroupsByIdSelective(Groups groups);

    //查询所有组的数量
    int selectCountGroups();

    int updateStatus(Integer groupId);
    int updateStatusOn(Integer groupId);
    Groups selectGroupById(Integer groupId);

    GroupsPageFindVM selectByGroupId(Integer groupId);
    // 动态查询方法，根据传入的多个参数进行灵活查询
    List<GroupsPageFindVM> findGroupsByConditionsSelective(GroupsPageFindVM groupsPageFindVM);
    //根据群组Id查询所有用户
    List<GroupsMemberVM> findGroupsMemberByGroupId(GroupsMemberVM groupsMemberVM);

    List<GroupsPageFindVM> findGroupByUserId(Integer userId);
}
